home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 003 / dbapg.arc / LEFTJUST.ASM < prev    next >
Encoding:
Assembly Source File  |  1984-08-05  |  1.1 KB  |  38 lines

  1. ; Subroutine.: LEFTJUST.ASM
  2. ; Author.....: Luis A. Castro
  3. ; Date.......: 06/15/83
  4. ; Notice.....: Copyright 1983, Ashton-Tate, All Rights Reserved
  5. ; Notes......: Left justify a character string.
  6.     ORG    42000    ; LOAD IN dBASE II's FREE AREA 
  7.     SHLD    SAVEHL    ; SAVE HL REGISTER PAIR 
  8.     MOV    C,M    ; STORE LENGTH OF STRING TO COUNTER 
  9.     MOV    D,H    ; LOAD DE REGISTER PAIR
  10.     MOV    E,L    ; WITH HL REGISTER PAIR 
  11.     INX    D    ; INCREMENT TO FIRST CHAR OF STRING
  12.             ; ON DE PAIR 
  13. LOOP:    INX    H    ; NEXT CHARACTER
  14.     MOV    A,M    ; FETCH CHARACTER
  15.     CPI    ' '    ; IS IT A SPACE?
  16.     JNZ    JUST    ; IF NOT A SPACE, THEN JUSTIFY 
  17.     DCR    C    ; DECREMENT COUNTER
  18.     JNZ    LOOP    ; REPEAT IF NOT END OF STRING
  19.     JZ    DONE    ; END OF STRING REACHED, EXIT
  20. JUST:    MOV    A,M    ; FETCH CHARACTER
  21.     MVI    M,' '    ; REPLACE MEMORY WITH SPACE
  22.     STAX    D    ; STORE CHARACTER IN ACCUMULATOR 
  23.             ; TO NEXT AVAILABLE CHARACTER ON 
  24.             ; LEFT OF STRING 
  25.     INX    D    ; INCREMENT BOTH POINTERS 
  26.     INX    H
  27.     DCR    C    ; DECREMENT COUNTER
  28.     JNZ    JUST    ; REPEAT UNTIL END OF STRING
  29. DONE:    LHLD    SAVEHL    ; RESTORE HL PAIR
  30.     RET
  31. SAVEHL    DB    0,0
  32.     END
  33.